<?php
$a_tablecolumns_namhoa_passport_module_action = array(
    'name'    => 'passport_module_action',
    'columns' => array(
        'moduleactionid'     ,
        'moduleid'           ,
        'actionid'           ,
        'moduleactiontype'   ,
        'moduleactionstatus' ,
        'note'               ,
        'creatorid'          ,
        'updaterid'          ,
        'insertdate'         ,
        'updatedate'         ,
    ),
);

function get_columns_namhoa_passport_module_action() {
    return array(
        'name'    => 'passport_module_action',
        'columns' => array(
            'moduleactionid'     ,
            'moduleid'           ,
            'actionid'           ,
            'moduleactiontype'   ,
            'moduleactionstatus' ,
            'note'               ,
            'creatorid'          ,
            'updaterid'          ,
            'insertdate'         ,
            'updatedate'         ,
        ),
    );
}

$f_moduleactionid     = 0 ;
$f_moduleid           = '';
$f_actionid           = '';
$f_moduleactiontype   = '';
$f_moduleactionstatus = '';
$f_note               = '';
$f_creatorid          = '';
$f_updaterid          = '';
$f_insertdate         = date('Y-m-d H:i:s');
$f_updatedate         = $f_insertdate;

class namhoa_passport_module_action {
    public function __get($v_property) {
        return '';
    }
} 

$d_passport_module_action = new namhoa_passport_module_action();

if (isset($_REQUEST['moduleactionid'     ] )) { $f_moduleactionid     = $_REQUEST['moduleactionid'     ] ; }
if (isset($_REQUEST['moduleid'           ] )) { $f_moduleid           = $_REQUEST['moduleid'           ] ; }
if (isset($_REQUEST['actionid'           ] )) { $f_actionid           = $_REQUEST['actionid'           ] ; }
if (isset($_REQUEST['moduleactiontype'   ] )) { $f_moduleactiontype   = $_REQUEST['moduleactiontype'   ] ; }
if (isset($_REQUEST['moduleactionstatus' ] )) { $f_moduleactionstatus = $_REQUEST['moduleactionstatus' ] ; }
if (isset($_REQUEST['note'               ] )) { $f_note               = $_REQUEST['note'               ] ; }

function make_filter_namhoa_passport_module_action($s_field, $s_keyword) {
    $v_filter = '';

    if ($s_field != '' && $s_keyword != '') {
        switch ($s_field) {
            case 'moduleid'           :
            case 'actionid'           :
            case 'moduleactiontype'   :
            case 'moduleactionstatus' :
            case 'note'               :
            case 'creatorid'          :
            case 'updaterid'          :
            case 'moduleactionid'     :
                $v_filter = "`$s_field` like '%$s_keyword%'";

                break;

            case 'insertdate'         :
            case 'updatedate'         :
                $v_thisday = $v_nextday = date('Y-m-d');

                if (strpos($s_keyword, '~') !== FALSE) {
                    $v_keywords = explode('~', $s_keyword)   ;
                    $v_thisday  = format_date($v_keywords[0]);
                    $v_nextday  = format_date($v_keywords[1]);
                }

                $v_filter = "(`$s_field` >= '$v_thisday 00:00:00' and `$s_field` <= '$v_nextday 23:59:59')";

                break;

        }
    }

    return $v_filter;
}

function make_advanced_filter_namhoa_passport_module_action($s_field, $s_keyword) {
    $v_filter = '';

    if ($s_field != '' && $s_keyword != '') {
        switch ($s_field) {
            case 'moduleid'           :
            case 'actionid'           :
            case 'moduleactiontype'   :
            case 'moduleactionstatus' :
            case 'note'               :
            case 'creatorid'          :
            case 'updaterid'          :
                $v_filter = "`$s_field` like '%$s_keyword%'";

                break;

            case 'moduleactionid'     :
                if (strpos($s_keyword, '~') !== FALSE) {
                    list($v_from, $v_to) = explode('~', $s_keyword, 2);
                
                    if (is_numeric($v_from)) {
                        $v_filter = $v_filter . "`$s_field` >= $v_from";
                    }
                
                    if (is_numeric($v_to)) {
                        $v_filter = $v_filter . (empty($v_filter) ? '' : ' and ') . "`$s_field` <= $v_to";
                    }
                
                    $v_filter = empty($v_filter) ? '' : "($v_filter)";
                }
                elseif (is_numeric($s_keyword)) {
                    $v_filter = "`$s_field` = $s_keyword";
                }

                break;

            case 'insertdate'         :
            case 'updatedate'         :
                if (strpos($s_keyword, '~') !== FALSE) {
                    list($v_fromday, $v_today) = explode('~', $s_keyword, 2);
                
                    if (validate_date($v_fromday)) {
                        $v_filter = $v_filter . "`$s_field` >= '$v_fromday 00:00:00'";
                    }
                
                    if (validate_date($v_today)) {
                        $v_filter = $v_filter . (empty($v_filter) ? '' : ' and ') . "`$s_field` <= '$v_today 23:59:59'";
                    }
                
                    $v_filter = empty($v_filter) ? '' : "($v_filter)";
                }
                elseif (validate_date($s_keyword)) {
                    $v_filter = "(`$s_field` >= '$s_keyword 00:00:00' and `$s_field` <= '$s_keyword 23:59:59')";
                }

                break;

        }
    }

    return $v_filter;
}

function build_filter_namhoa_passport_module_action($s_field) {
    echo '<option value="moduleactionid"'     , ($s_field == 'moduleactionid'      ? ' selected="selected"' : ''), '> Module Action ID     </option>';
    echo '<option value="moduleid"'           , ($s_field == 'moduleid'            ? ' selected="selected"' : ''), '> Module ID            </option>';
    echo '<option value="actionid"'           , ($s_field == 'actionid'            ? ' selected="selected"' : ''), '> Action ID            </option>';
    echo '<option value="moduleactiontype"'   , ($s_field == 'moduleactiontype'    ? ' selected="selected"' : ''), '> Module Action Type   </option>';
    echo '<option value="moduleactionstatus"' , ($s_field == 'moduleactionstatus'  ? ' selected="selected"' : ''), '> Module Action Status </option>';
    echo '<option value="note"'               , ($s_field == 'note'                ? ' selected="selected"' : ''), '> Note                 </option>';
    echo '<option value="creatorid"'          , ($s_field == 'creatorid'           ? ' selected="selected"' : ''), '> Người Tạo            </option>';
    echo '<option value="updaterid"'          , ($s_field == 'updaterid'           ? ' selected="selected"' : ''), '> Người Cập Nhật       </option>';
    echo '<option value="insertdate"'         , ($s_field == 'insertdate'          ? ' selected="selected"' : ''), '> Người Tạo            </option>';
    echo '<option value="updatedate"'         , ($s_field == 'updatedate'          ? ' selected="selected"' : ''), '> Người Cập Nhật       </option>';
}

function build_advanced_filter_namhoa_passport_module_action($s_field, $a_hide = array()) {
    if (empty($a_hide)) {
        return build_filter_namhoa_passport_module_action($s_field);
    }

    $a_columns = array(
        'moduleactionid'     => 'Module Action ID'     ,
        'moduleid'           => 'Module ID'            ,
        'actionid'           => 'Action ID'            ,
        'moduleactiontype'   => 'Module Action Type'   ,
        'moduleactionstatus' => 'Module Action Status' ,
        'note'               => 'Note'                 ,
        'creatorid'          => 'Người Tạo'            ,
        'updaterid'          => 'Người Cập Nhật'       ,
        'insertdate'         => 'Người Tạo'            ,
        'updatedate'         => 'Người Cập Nhật'       ,
    );

    $a_hide    = array_combine($a_hide, $a_hide);
    $a_columns = array_diff_key($a_columns, $a_hide);

    foreach ($a_columns as $v_columnname => $v_columncomment) {
        echo '<option value="', $v_columnname, '"', ($s_field == $v_columnname ? ' selected="selected"' : ''), '>', $v_columncomment, '</option>';
    }
}
?>